
lang_c = {
    'namespace': '{{ T.full_namespace }}',
    'namespace_macrofy': '{{ T.full_namespace | c.macrofy }}',
{%- for attribute in T.attributes %}
    'ctype_std {{ attribute.data_type }}': '{{ attribute.data_type | c.type_from_primitive }}',
    'ctype {{ attribute.data_type }}': '{{ attribute.data_type | c.type_from_primitive(False) }}',
{%- endfor %}
    'unique_name_0': '{{ "nAME" | c.to_template_unique_name }}',
    'unique_name_1': '{{ "NAME" | c.to_template_unique_name }}',
    'unique_name_2': '{{ "naME" | c.to_template_unique_name }}',
    'unique_name_3': '{{ "" | c.to_template_unique_name }}'
}

lang_cpp = {
    'namespace': '{{ T.full_namespace }}',
    'namespace_open': r'''{{ T.full_namespace | cpp.open_namespace }}''',
    'namespace_open_wo_nl': r'''{{ T.full_namespace | cpp.open_namespace(False) }}''',
    'namespace_close': r'''{{ T.full_namespace | cpp.close_namespace(True) }}''',
    'namespace_close_w_comments': r'''{{ T.full_namespace | cpp.close_namespace }}'''
}

lang_py = {
    'unique_name_0': '{{ "NAME" | py.to_template_unique_name }}',
    'unique_name_1': '{{ "NAME" | py.to_template_unique_name }}',
    'unique_name_2': '{{ "name" | py.to_template_unique_name }}',
    'id_0': '{{ "identifier zero" | py.id }}'
}

tests = {'lang_c': lang_c, 'lang_cpp': lang_cpp, 'lang_py': lang_py}
